# 回收站

CubeFS的卷默认没有开启回收站功能。可通过master服务接口开启卷的回收站功能:
- name，卷名。
- authKey，volume owner字符串的MD5值。
- trashInterval，回收站清理被删除文件的周期，单位分钟。默认0为不开启回收站功能。
``` bash
curl -v "http://127.0.0.1:17010/vol/setTrashInterval?name=test&authKey=&trashInterval=7200" | jq .
```
开启回收站功能后，客户端会在挂载点的根目录下创建一个名为.Trash的隐藏文件夹。.Trash内的Current文件夹内保留了当前被误删的文件/文件夹以及其完整的文件路径。

::: tip 提示
为了提高回收站的删除效率，被删除的文件会会将父目录以平铺的方式显示在文件名中，并通过后台协程构建文件的父目录路径，因此当文件回收站内文件过多时，可能会短暂出现被删除文件没有父目录的情况，属于正常现象。
:::

Current文件会定期被重命名为**Expired_过期时间戳**的文件夹。当Expired文件夹的过期时间戳到期时，则会删除该文件夹下的所有内容。

## 恢复误删文件

如前所述，只需要在.Trash文件夹下的Current或者Expired目录中找到被误删除的文件，即可根据其完整的父目录路径，将被误删的文件/文件夹通过mv操作恢复到被删除的原始位置。

## 清理回收站内的文件

需要注意的是回收站的内容依赖客户端的后台协程定期删除，因此如没有回收站对应卷的客户端在线时，回收站的内容会一直保留直到有回收站对应卷的客户端在线。

为了尽快的释放回收站的使用空间，也可以通过客户端直接对.Trash文件夹执行rm操作。